package array;

import java.util.Scanner;

/**
 * 猜数游戏
 * @author Administrator
 *
 */
public class GuessNumber {
	

	//设计一个函数， 返回1-9 的4位随机数，不重复  1234  1144（不行）	
	public static int[] getNum(){
		int sz[]={1,2,3,4,5,6,7,8,9};
		int a[]=new int[4];
		
		for(int k=0;k<10;k++){
			int i=(int)(Math.random()*9);
			int j=(int)(Math.random()*9);
			int c =sz[i];
			sz[i]=sz[j];
			sz[j]=c;
		}
		//前四个数
		for(int k=0;k<4;k++){
			a[k]=sz[k];
			//System.out.print(a[k]+",");
		} 
		return a;
	}
	
	// 你输入一个数，1234  放入数组  [1,2,3,4]
	public static int[] input(){
		int b[]=new int[4];
		System.out.println("请输入4位数");
		Scanner scan=new Scanner(System.in);
		int num =scan.nextInt(); // 1234
		
		b[3]=num%10;
		b[2]=num/10%10;
		b[1]=num/100%10;
		b[0]=num/1000;
		
		return b;
	}
	
	//检查数字正确
	public static void checkNum(int a[],int b[]){
		int n =0;
		for(int i =0;i<4;i++){
			for(int j=0;j<4;j++){
				if(a[i]==b[j]){
					n++;
				}
			}
		}
		System.out.println("你猜的数字对了"+n+"个");
	}
	
	//检查位置正确
	public static int checkPos(int a[],int b[]){
		int n=0;
		for(int i=0;i<4;i++){
			if(a[i]==b[i]){
				n++;
			}
		}
		System.out.println("你猜的数位置对了"+n+"个");
		return n;
	}
	
	
	public static void main(String[] args) {
		
		int a[]=getNum();  //计算机出的随机数
		int n=0;   //记录位置对了几个
		
		while(n!=4){
			int b[]=input();		
			n=checkPos(a,b);
			checkNum(a,b);	
		}
 
	}

}
